/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 actor_sequence_cache.h

	$Header: /heroes4/actor_sequence_cache.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( ACTOR_SEQUENCE_CACHE_H_INCLUDED )
#define ACTOR_SEQUENCE_CACHE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <string>

#include "cached_ptr.h"

class t_actor_sequence;
struct t_screen_point;

// ------------------------------------------------------------------------------
// Details namespace
// ------------------------------------------------------------------------------

namespace actor_sequence_cache_details
{
	// ------------------------------------------------------------------------------
	// t_initializer class
	// ------------------------------------------------------------------------------
	class t_initializer
	{
	public:
		// Constructor
		t_initializer();
	} const k_initializer;

} // Details namespace

// ------------------------------------------------------------------------------
// Lookup the actor sequence cache by name
// ------------------------------------------------------------------------------
t_abstract_cache< t_actor_sequence > &	get_actor_sequence_cache(
											std::string const &		name,
											t_screen_point const &	offset );

// ------------------------------------------------------------------------------
// Lookup a scaled actor sequence cache by name
// ------------------------------------------------------------------------------
t_abstract_cache< t_actor_sequence > &	get_scaled_actor_sequence_cache(
											std::string const &		name,
											t_screen_point const &	offset,
											double					ratio );

#endif // !defined( ACTOR_SEQUENCE_CACHE_H_INCLUDED )
